<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <!-- For this project, we want warnings if there are public APIs/types without properly formatted XML comments. -->
    <SkipIntellisenseNoWarnCS1591>true</SkipIntellisenseNoWarnCS1591>
    <NoWarn>$(NoWarn);CS8969</NoWarn>
    <IncludeInternalObsoleteAttribute>true</IncludeInternalObsoleteAttribute>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <IsPackable>true</IsPackable>
    <PackageDescription>Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data.

The System.Text.Json library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use it in other target frameworks.</PackageDescription>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <NoWarn Condition="$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)')) != '.NETCoreApp'">$(NoWarn);nullable</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <ILLinkSubstitutionsXmls Include="ILLink\ILLink.Substitutions.xml" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="$(CommonPath)System\HexConverter.cs" Link="Common\System\HexConverter.cs" />
    <Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs" Link="Common\ValueStringBuilder.cs" />
    <Compile Include="$(CommonPath)System\Text\Json\PooledByteBufferWriter.cs" Link="Common\System\Text\Json\PooledByteBufferWriter.cs" />
    <Compile Include="..\Common\JsonCamelCaseNamingPolicy.cs" Link="Common\System\Text\Json\JsonCamelCaseNamingPolicy.cs" />
    <Compile Include="..\Common\JsonNamingPolicy.cs" Link="Common\System\Text\Json\JsonNamingPolicy.cs" />
    <Compile Include="..\Common\JsonAttribute.cs" Link="Common\System\Text\Json\Serialization\JsonAttribute.cs" />
    <Compile Include="..\Common\JsonCommentHandling.cs" Link="Common\System\Text\Json\JsonCommentHandling.cs" />
    <Compile Include="..\Common\JsonConstants.cs" Link="Common\System\Text\Json\JsonConstants.cs" />
    <Compile Include="..\Common\JsonHelpers.cs" Link="Common\System\Text\Json\JsonHelpers.cs" />
    <Compile Include="..\Common\JsonIgnoreCondition.cs" Link="Common\System\Text\Json\Serialization\JsonIgnoreCondition.cs" />
    <Compile Include="..\Common\JsonKebabCaseLowerNamingPolicy.cs" Link="Common\System\Text\Json\Serialization\JsonKebabCaseLowerNamingPolicy.cs" />
    <Compile Include="..\Common\JsonKebabCaseUpperNamingPolicy.cs" Link="Common\System\Text\Json\Serialization\JsonKebabCaseUpperNamingPolicy.cs" />
    <Compile Include="..\Common\JsonKnownNamingPolicy.cs" Link="Common\System\Text\Json\Serialization\JsonKnownNamingPolicy.cs" />
    <Compile Include="..\Common\JsonNumberHandling.cs" Link="Common\System\Text\Json\Serialization\JsonNumberHandling.cs" />
    <Compile Include="..\Common\JsonObjectCreationHandling.cs" Link="Common\System\Text\Json\Serialization\JsonObjectCreationHandling.cs" />
    <Compile Include="..\Common\JsonUnmappedMemberHandling.cs" Link="Common\System\Text\Json\Serialization\JsonUnmappedMemberHandling.cs" />
    <Compile Include="..\Common\JsonSeparatorNamingPolicy.cs" Link="Common\System\Text\Json\Serialization\JsonSeparatorNamingPolicy.cs" />
    <Compile Include="..\Common\JsonSerializableAttribute.cs" Link="Common\System\Text\Json\Serialization\JsonSerializableAttribute.cs" />
    <Compile Include="..\Common\JsonSerializerDefaults.cs" Link="Common\System\Text\Json\Serialization\JsonSerializerDefaults.cs" />
    <Compile Include="..\Common\JsonSnakeCaseLowerNamingPolicy.cs" Link="Common\System\Text\Json\Serialization\JsonSnakeCaseLowerNamingPolicy.cs" />
    <Compile Include="..\Common\JsonSnakeCaseUpperNamingPolicy.cs" Link="Common\System\Text\Json\Serialization\JsonSnakeCaseUpperNamingPolicy.cs" />
    <Compile Include="..\Common\JsonSourceGenerationMode.cs" Link="Common\System\Text\Json\Serialization\JsonSourceGenerationMode.cs" />
    <Compile Include="..\Common\JsonSourceGenerationOptionsAttribute.cs" Link="Common\System\Text\Json\Serialization\JsonSourceGenerationOptionsAttribute.cs" />
    <Compile Include="..\Common\JsonUnknownTypeHandling.cs" Link="Common\System\Text\Json\Serialization\JsonUnknownTypeHandling.cs" />
    <Compile Include="..\Common\ReflectionExtensions.cs" Link="Common\System\Text\Json\Serialization\ReflectionExtensions.cs" />
    <Compile Include="..\Common\ThrowHelper.cs" Link="Common\System\Text\Json\ThrowHelper.cs" />
    <Compile Include="System\Text\Json\AppContextSwitchHelper.cs" />
    <Compile Include="System\Text\Json\BitStack.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.DbRow.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.MetadataDb.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.Parse.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.StackRow.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.StackRowStack.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocument.TryGetProperty.cs" />
    <Compile Include="System\Text\Json\Document\JsonDocumentOptions.cs" />
    <Compile Include="System\Text\Json\Document\JsonElement.ArrayEnumerator.cs" />
    <Compile Include="System\Text\Json\Document\JsonElement.cs" />
    <Compile Include="System\Text\Json\Document\JsonElement.ObjectEnumerator.cs" />
    <Compile Include="System\Text\Json\Document\JsonElement.Parse.cs" />
    <Compile Include="System\Text\Json\Document\JsonProperty.cs" />
    <Compile Include="System\Text\Json\Document\JsonValueKind.cs" />
    <Compile Include="System\Text\Json\JsonConstants.cs" />
    <Compile Include="System\Text\Json\JsonEncodedText.cs" />
    <Compile Include="System\Text\Json\JsonException.cs" />
    <Compile Include="System\Text\Json\JsonHelpers.cs" />
    <Compile Include="System\Text\Json\JsonHelpers.Date.cs" />
    <Compile Include="System\Text\Json\JsonHelpers.Escaping.cs" />
    <Compile Include="System\Text\Json\JsonPropertyDictionary.cs" />
    <Compile Include="System\Text\Json\JsonPropertyDictionary.KeyCollection.cs" />
    <Compile Include="System\Text\Json\JsonPropertyDictionary.ValueCollection.cs" />
    <Compile Include="System\Text\Json\JsonTokenType.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonArray.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonArray.IList.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonNode.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonNode.Operators.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonNode.Parse.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonNode.To.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonNodeOptions.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonObject.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonObject.IDictionary.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonValue.CreateOverloads.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonValue.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonValueOfTCustomized.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonValueOfT.cs" />
    <Compile Include="System\Text\Json\Nodes\JsonValueOfTPrimitive.cs" />
    <Compile Include="System\Text\Json\Reader\ConsumeNumberResult.cs" />
    <Compile Include="System\Text\Json\Reader\ConsumeTokenResult.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderException.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderHelper.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderHelper.Unescaping.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderOptions.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderState.cs" />
    <Compile Include="System\Text\Json\Reader\Utf8JsonReader.cs" />
    <Compile Include="System\Text\Json\Reader\Utf8JsonReader.MultiSegment.cs" />
    <Compile Include="System\Text\Json\Reader\Utf8JsonReader.TryGet.cs" />
    <Compile Include="System\Text\Json\Serialization\Arguments.cs" />
    <Compile Include="System\Text\Json\Serialization\ArgumentState.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonObjectCreationHandlingAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonConstructorAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonConverterAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonDerivedTypeAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonExtensionDataAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonIgnoreAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonIncludeAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonNumberHandlingAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonPolymorphicAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonPropertyNameAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonRequiredAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonPropertyOrderAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Attributes\JsonUnmappedMemberHandlingAttribute.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\CastingConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ImmutableDictionaryOfTKeyTValueConverterWithReflection.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ImmutableEnumerableOfTConverterWithReflection.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ReadOnlyMemoryConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\MemoryConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\StackOrQueueConverterWithReflection.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\JsonMetadataServicesConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectWithParameterizedConstructorConverter.Large.Reflection.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\MemoryConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\ReadOnlyMemoryByteConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\MemoryByteConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\JsonPrimitiveConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\IgnoreReferenceResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\IJsonOnDeserialized.cs" />
    <Compile Include="System\Text\Json\Serialization\IJsonOnDeserializing.cs" />
    <Compile Include="System\Text\Json\Serialization\IJsonOnSerialized.cs" />
    <Compile Include="System\Text\Json\Serialization\IJsonOnSerializing.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonNumberEnumConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Document.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Element.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Node.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Document.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Element.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Node.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializerContext.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonUnknownDerivedTypeHandling.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\DefaultJsonTypeInfoResolver.Converters.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\DefaultJsonTypeInfoResolver.Helpers.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\DefaultJsonTypeInfoResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\IJsonTypeInfoResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonDerivedType.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonPolymorphismOptions.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoOfT.ReadHelper.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoOfT.WriteHelpers.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoKind.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoResolverChain.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoResolverWithAddedModifiers.cs" />
    <Compile Include="System\Text\Json\Serialization\PolymorphicSerializationState.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriterCache.cs" />
    <Compile Include="System\Text\Json\Serialization\ReferenceEqualsWrapper.cs" />
    <Compile Include="System\Text\Json\Serialization\ConverterStrategy.cs" />
    <Compile Include="System\Text\Json\Serialization\ConfigurationList.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ArrayConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ConcurrentQueueOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ConcurrentStackOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\DictionaryDefaultConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\DictionaryOfTKeyTValueConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IAsyncEnumerableConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IAsyncEnumerableOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ICollectionOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IDictionaryConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IDictionaryOfTKeyTValueConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableConverterFactoryHelpers.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableDefaultConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\StackOrQueueConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IListConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IListOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ImmutableDictionaryOfTKeyTValueConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ImmutableEnumerableOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\IReadOnlyDictionaryOfTKeyTValueConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ISetOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\JsonCollectionConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\JsonDictionaryConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\ListOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\QueueOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Collection\StackOfTConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\FSharp\FSharpListConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\FSharp\FSharpMapConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\FSharp\FSharpSetConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\FSharp\FSharpTypeConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\FSharp\FSharpOptionConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\FSharp\FSharpValueOptionConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Node\JsonArrayConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Node\JsonNodeConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Node\JsonNodeConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Node\JsonObjectConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Node\JsonValueConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\JsonObjectConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectDefaultConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectWithParameterizedConstructorConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectWithParameterizedConstructorConverter.Large.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectWithParameterizedConstructorConverter.Small.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\BooleanConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\ByteArrayConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\ByteConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\CharConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\DateTimeConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\DateTimeOffsetConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\DecimalConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\DoubleConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\EnumConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\EnumConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\EnumConverterOptions.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\GuidConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\Int16Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\Int32Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\Int64Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\JsonDocumentConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\JsonElementConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\NullableConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\NullableConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\SByteConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\SingleConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\StringConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\TimeSpanConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt16Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt32Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt64Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UnsupportedTypeConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UnsupportedTypeConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UriConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\VersionConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\IgnoreReferenceHandler.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonConverter.MetadataHandling.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonConverterFactory.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonConverterOfT.ReadCore.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonConverterOfT.WriteCore.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonConverterOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonResumableConverterOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Helpers.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.HandleMetadata.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.HandlePropertyName.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Span.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Stream.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.String.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Utf8JsonReader.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.ByteArray.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.HandleMetadata.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Stream.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.String.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Utf8JsonWriter.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializerOptions.Caching.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializerOptions.Converters.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializerOptions.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonStringEnumConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\FSharpCoreReflectionProxy.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonCollectionInfoValuesOfTCollection.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonMetadataServices.Collections.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonMetadataServices.Converters.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonMetadataServices.Helpers.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonMetadataServices.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonObjectInfoValuesOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonParameterInfoValues.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonParameterInfo.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonParameterInfoOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonPropertyInfo.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonPropertyInfoOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonPropertyInfoValuesOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfoOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfo.Cache.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\MemberAccessor.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\ParameterRef.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\PolymorphicTypeResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\PropertyRef.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\ReflectionEmitCachingMemberAccessor.Cache.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\ReflectionEmitCachingMemberAccessor.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\ReflectionEmitMemberAccessor.cs" />
    <Compile Include="System\Text\Json\Serialization\Metadata\ReflectionMemberAccessor.cs" />
    <Compile Include="System\Text\Json\Serialization\MetadataPropertyName.cs" />
    <Compile Include="System\Text\Json\Serialization\PreserveReferenceHandler.cs" />
    <Compile Include="System\Text\Json\Serialization\PreserveReferenceResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\ReadBufferState.cs" />
    <Compile Include="System\Text\Json\Serialization\ReadStack.cs" />
    <Compile Include="System\Text\Json\Serialization\ReadStackFrame.cs" />
    <Compile Include="System\Text\Json\Serialization\ReferenceHandler.cs" />
    <Compile Include="System\Text\Json\Serialization\ReferenceHandlerOfT.cs" />
    <Compile Include="System\Text\Json\Serialization\ReferenceHandlingStrategy.cs" />
    <Compile Include="System\Text\Json\Serialization\ReferenceResolver.cs" />
    <Compile Include="System\Text\Json\Serialization\StackFrameObjectState.cs" />
    <Compile Include="System\Text\Json\Serialization\StackFramePropertyState.cs" />
    <Compile Include="System\Text\Json\Serialization\WriteStack.cs" />
    <Compile Include="System\Text\Json\Serialization\WriteStackFrame.cs" />
    <Compile Include="System\Text\Json\ThrowHelper.cs" />
    <Compile Include="System\Text\Json\ThrowHelper.Node.cs" />
    <Compile Include="System\Text\Json\ThrowHelper.Serialization.cs" />
    <Compile Include="System\Text\Json\Writer\JsonWriterHelper.cs" />
    <Compile Include="System\Text\Json\Writer\JsonWriterHelper.Date.cs" />
    <Compile Include="System\Text\Json\Writer\JsonWriterHelper.Escaping.cs" />
    <Compile Include="System\Text\Json\Writer\JsonWriterOptions.cs" />
    <Compile Include="System\Text\Json\Writer\SequenceValidity.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Bytes.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.DateTime.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.DateTimeOffset.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Decimal.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Double.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Float.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.FormattedNumber.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Guid.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Helpers.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.Literal.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.SignedNumber.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.String.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteProperties.UnsignedNumber.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Bytes.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Comment.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.DateTime.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.DateTimeOffset.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Decimal.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Double.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Float.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.FormattedNumber.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Guid.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Helpers.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Literal.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.Raw.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.SignedNumber.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.String.cs" />
    <Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.UnsignedNumber.cs" />
    <Compile Include="System\ReflectionExtensions.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs" Link="Common\System\Obsoletions.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <Compile Include="$(CoreLibSharedDir)System\Collections\Generic\ReferenceEqualityComparer.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Runtime\CompilerServices\IsExternalInit.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Runtime\Versioning\RequiresPreviewFeaturesAttribute.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\DynamicDependencyAttribute.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\DynamicallyAccessedMembersAttribute.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\DynamicallyAccessedMemberTypes.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\RequiresUnreferencedCodeAttribute.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\UnconditionalSuppressMessageAttribute.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '7.0'))">
    <Compile Include="System\Text\Json\Serialization\Converters\Value\Int128Converter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt128Converter.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
    <Compile Include="System.Text.Json.Typeforwards.netcoreapp.cs" />
    <Compile Include="System\Text\Json\Serialization\JsonSerializerOptionsUpdateHandler.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\DateOnlyConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\TimeOnlyConverter.cs" />
    <Compile Include="System\Text\Json\Serialization\Converters\Value\HalfConverter.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderHelper.net8.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <Compile Include="System\Collections\Generic\StackExtensions.netstandard.cs" />
    <Compile Include="$(CommonPath)System\Buffers\ArrayBufferWriter.cs" Link="Common\System\Buffers\ArrayBufferWriter.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\StringSyntaxAttribute.cs" />
    <Compile Include="$(CoreLibSharedDir)System\Diagnostics\CodeAnalysis\RequiresDynamicCodeAttribute.cs" />
    <Compile Include="System\Text\Json\Reader\JsonReaderHelper.netstandard.cs" />
  </ItemGroup>

  <!-- Application tfms (.NETCoreApp, .NETFramework) need to use the same or higher version of .NETStandard's dependencies. -->
  <ItemGroup>
    <ProjectReference Include="$(LibrariesProjectRoot)System.Text.Encodings.Web\src\System.Text.Encodings.Web.csproj" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
    <Reference Include="System.Collections" />
    <Reference Include="System.Collections.Concurrent" />
    <Reference Include="System.Memory" />
    <Reference Include="System.Numerics.Vectors" />
    <Reference Include="System.Reflection.Emit.ILGeneration" />
    <Reference Include="System.Reflection.Emit.Lightweight" />
    <Reference Include="System.Reflection.Primitives" />
    <Reference Include="System.Runtime" />
    <Reference Include="System.Runtime.InteropServices" />
    <Reference Include="System.Runtime.Intrinsics" />
    <Reference Include="System.Runtime.Loader" />
    <Reference Include="System.Text.Encoding.Extensions" />
    <Reference Include="System.Threading" />
    <Reference Include="System.Text.RegularExpressions" />
  </ItemGroup>
  
  <ItemGroup>
    <ProjectReference Include="$(LibrariesProjectRoot)System.Text.RegularExpressions\gen\System.Text.RegularExpressions.Generator.csproj" ReferenceOutputAssembly="false" SetTargetFramework="TargetFramework=netstandard2.0" OutputItemType="Analyzer" />
  </ItemGroup>
  
  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <PackageReference Include="System.Buffers" Version="$(SystemBuffersVersion)" />
    <PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
    <PackageReference Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsVersion)" />
    <ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Bcl.AsyncInterfaces\src\Microsoft.Bcl.AsyncInterfaces.csproj" />
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafeVersion)" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\gen\System.Text.Json.SourceGeneration.Roslyn3.11.csproj" ReferenceOutputAssembly="false" PackAsAnalyzer="true" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
    <ProjectReference Include="..\gen\System.Text.Json.SourceGeneration.Roslyn4.0.csproj" ReferenceOutputAssembly="false" PackAsAnalyzer="true" />
    <ProjectReference Include="..\gen\System.Text.Json.SourceGeneration.Roslyn4.4.csproj" ReferenceOutputAssembly="false" PackAsAnalyzer="true" />
  </ItemGroup>

</Project>
